package com.wdd.commmon.providerservice.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 商品SPU数据表
 * </p>
 *
 * @author wdd
 * @since 2021-03-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Goods对象", description="商品SPU数据表")
public class Goods implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "商品id")
      @TableId(value = "goods_id", type = IdType.ASSIGN_ID)
    private String goodsId;

    @ApiModelProperty(value = "租户id")
    private String tenantId;

    @ApiModelProperty(value = "属于平台id")
    private String platformId;

    @ApiModelProperty(value = "原始的商品名字")
    private String originGoodsId;

    @ApiModelProperty(value = "原始的商品id")
    private String originGoodsName;

    @ApiModelProperty(value = "品牌编号")
    private String brandId;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "1级分类")
    private String catId1;

    @ApiModelProperty(value = "1级分类名称")
    private String catName1;

    @ApiModelProperty(value = "2级分类")
    private String catId2;

    @ApiModelProperty(value = "2级分类名称")
    private String catName2;

    @ApiModelProperty(value = "3级分类")
    private String catId3;

    @ApiModelProperty(value = "3级分类名称")
    private String catName3;

    @ApiModelProperty(value = "4级分类")
    private String catId4;

    @ApiModelProperty(value = "4级分类名称")
    private String catName4;

    @ApiModelProperty(value = "5级分类")
    private String catId5;

    @ApiModelProperty(value = "5级分类名称")
    private String catName5;

    @ApiModelProperty(value = "6级分类")
    private String catId6;

    @ApiModelProperty(value = "6级分类名称")
    private String catName6;

    @ApiModelProperty(value = "7级分类")
    private String catId7;

    @ApiModelProperty(value = "7级分类名称")
    private String catName7;

    @ApiModelProperty(value = "叶子分类")
    private String lastCatId;

    @ApiModelProperty(value = "叶子节点名称")
    private String lastCatName;

    @ApiModelProperty(value = "叶子节点级别")
    private Integer lastCatLevel;

    @ApiModelProperty(value = "商品SPU编码")
    private String goodsCode;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品简介")
    private String goodsIntroduction;

    @ApiModelProperty(value = "商品搜索 关键字")
    private String goodsKeyword;

    @ApiModelProperty(value = "商品标语")
    private String goodsSlogans;

    @ApiModelProperty(value = "商品广告词")
    private String goodsJingle;

    @ApiModelProperty(value = "商品经营范围platform,merchant,store")
    private String goodsScopeType;

    @ApiModelProperty(value = "商品经营类目(appstore,iot,industry)")
    private String goodsBusinesType;

    @ApiModelProperty(value = "是否虚拟商品")
    private Boolean isVirtual;

    @ApiModelProperty(value = "商品图片列表，多图片逗号隔开")
    private String goodsPictureList;

    @ApiModelProperty(value = "商品图标")
    private String goodsMasterPicture;

    @ApiModelProperty(value = "真实销量")
    private Integer realSaleNum;

    @ApiModelProperty(value = "虚拟销量")
    private Integer shamSaleNum;

    @ApiModelProperty(value = "商品月销售量")
    private Integer monthSaleNum;

    @ApiModelProperty(value = "是否单品")
    private Boolean isSingleStatus;

    @ApiModelProperty(value = "库存")
    private Integer storageNum;

    @ApiModelProperty(value = "标签价")
    private BigDecimal labelPrice;

    @ApiModelProperty(value = "sku最高标签价")
    private BigDecimal heightLabelPrice;

    @ApiModelProperty(value = "销售价")
    private BigDecimal salePrice;

    @ApiModelProperty(value = "最高销售价")
    private BigDecimal heightSalePrice;

    @ApiModelProperty(value = "成本价")
    private BigDecimal costPrice;

    @ApiModelProperty(value = "最高成本价")
    private BigDecimal heightCostPrice;

    @ApiModelProperty(value = "包装费")
    private BigDecimal packagePrice;

    @ApiModelProperty(value = "商品重量")
    private BigDecimal goodsWeight;

    @ApiModelProperty(value = "二维码地址")
    private String qrcodeUrl;

    @ApiModelProperty(value = "商品排序值")
    private Long goodsSortOrder;

    @ApiModelProperty(value = "商品备注")
    private String goodsRemark;

    @ApiModelProperty(value = "编辑状态，0是草稿，1是完成")
    private Boolean isEditFinished;

    @ApiModelProperty(value = "审核状态（ READY_APPLY,IN_APPLY, REFUSE, SUCCEED")
    private String auditStatus;

    @ApiModelProperty(value = "上线状态")
    private Boolean isOnlineStatus;

    private Boolean isNewStatus;

    @ApiModelProperty(value = "热销商品")
    private Boolean isHotStatus;

    @ApiModelProperty(value = "推荐商品")
    private Boolean isRecommendStatus;

    @ApiModelProperty(value = "预留1状态")
    private Boolean reserve1Status;

    @ApiModelProperty(value = "是否允许退货")
    private Boolean isEnableReturnGoods;

    @ApiModelProperty(value = "是否支持快速退款")
    private Boolean isEnableQuickRefund;

    @ApiModelProperty(value = "是否免费包邮")
    private Boolean isEnableFreeShipping;

    @ApiModelProperty(value = "是否自营商品，如果是自营门店上架商品，自动会打这个标签")
    private Boolean isOwner;

    @ApiModelProperty(value = "版本并发控制")
    private Integer version;

    @ApiModelProperty(value = "预留2状态")
    private Boolean reserve2Status;

    private Date createTime;

    private Date updateTime;

    @ApiModelProperty(value = "门店ID")
    private String storeId;

    @ApiModelProperty(value = "门店的sku logo")
    private String storeLogoUrl;

    @ApiModelProperty(value = "门店名称")
    private String storeName;

    @ApiModelProperty(value = "商品经营类型  SELF自营  THIRDPARTY三方 LICENSED授权")
    private String goodsManageType;

    @ApiModelProperty(value = "授权商品原始ID")
    private String goodsOldId;

    @ApiModelProperty(value = "视频介绍")
    private String goodsVideo;

    @ApiModelProperty(value = "自营商品开票类型 1原材料 2产成品 3安装施工 4技术开发转让 5服务（服务费手续费平台费等）")
    private String selfGoodsType;

    @ApiModelProperty(value = "税号")
    private String taxCode;

    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    @ApiModelProperty(value = "供应商id")
    private String supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;


}
